package com.sun.mongodb.core.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;

/**
 * @Document  把一个java类声明为mongodb的文档，可以通过collection 参数指定这个类对应的文档。
 * @Id   表示文档的唯一标识 _id，在mongodb中为ObjectId，它是唯一的.如果用其他类型，需要自己赋值
 * @org.springframework.data.mongodb.core.mapping.Field   给映射存储到 mongodb 的字段取别名
 * @org.springframework.data.mongodb.core.index.Indexed   声明该字段需要索引，建索引可以大大的提高查询效率。
 * @org.springframework.data.mongodb.core.index.CompoundIndex    声明复合索引
 * @org.springframework.data.annotation.Transient  标识该字段不保存到 mongodb
 *
 */
// 若未加 @Document ，该 bean save 到 mongo 的 user collection
// 若添加 @Document ，则 save 到 reUser collection
@Data
@Document
public class BaseMongo {
    /**
     * org.bson.types.ObjectId 类型： 自动生成==》ObjectId("611e1e56287703258e8b571a")解析后 ==》 {"date": "2021-08-19 16:45:58","timestamp": 1629362758}
     * String 类型  自动生成==》"611e1e56287703258e8b571a"  ; 可使用 new ObjectId("611e1e56287703258e8b571a" )  得到 {"date": "2021-08-19 16:45:58","timestamp": 1629362758}
     */
    @Id
    private String id;

    Date createTime;

    Date updateTime;

}
